package com.love.marriage.TecentIm.service;

import com.love.marriage.TecentIm.vo.ChatReadInfoVo;
import com.love.marriage.TecentIm.vo.RecentContactRequest;

import java.util.List;
import java.util.Map;

public interface TencentImService {

    String sage(String fromUser, String toUser, String message) throws Exception;

    String withdrawMessage(String fromAccount, String toAccount, String msgKey) throws Exception;

    Map<String, Object> sendReadReceipt(String operatorAccount, String peerAccount, List<ChatReadInfoVo> chatReadInfoVoList) throws Exception;

    String getConversationList(String userId, int limit);

    String getUserMessages(String fromUserId, String toUserId, long nextSeq, int limit);

    String getRecentContacts(RecentContactRequest request);

    Boolean importAccount(String userId, String nick, String faceUrl);

    String getChatHistory(String operatorAccount, String peerAccount, long minTime, long maxTime, int maxCnt, String lastMsgKey) throws Exception;

    Map<String, Object> getBatchUnreadMessageCount(String toAccount, String[] peerAccounts) throws Exception;

    Boolean deleteChatMessages(String operatorAccount, String peerAccount, List<String> msgKeyList) throws Exception;

    String generateUserSig(String userId);
}
